package com.gaogzhen.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gaogzhen.domain.Coin;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gaogzhen.dto.CoinDto;

import java.util.List;
import java.util.Map;

/**
* @description ${description}
* @author Administrator
* @date 2022-11-03 11:43
* @version 1.0
*/
public interface CoinService extends IService<Coin>{


    /**
     * 分页查询币种
     * @param title         标题
     * @param name          名称
     * @param type          币种类型
     * @param walletType    钱包类型
     * @param status        状态
     * @param page          分页
     * @return              币种分页数据
     */
    Page<Coin> findByPage(String title, String name, String type, String walletType, Byte status, Page<Coin> page);

    /**
     * 查询所有的币种
     * @param status    状态
     * @return          所有的币种
     */
    List<Coin> findAll(Byte status);

    /**
     * 通过币种名称查找币种信息
     * @param name  币种名称
     * @return      币种信息
     */
    Coin findByCoinName(String name);

    /**
     * 根据coinIds查询coin的map，key为coinId，value为对应的coin对象
     * @param coinIds   coinId集合
     * @return          map
     */
    Map<Long, CoinDto> findCoins(List<Long> coinIds);
}
